<script setup>
/*
  1. await右侧的表达式一般为一个Promise对象，但是也可以是一个其他值；
  2. 如果表达式是Promise对象，await返回的是Promise成功的值；
  3. 如果表达式是其他值，则直接返回该值；
  4. await会等右边的Promise对象执行结束，然后再获取结果，所在方法的后续代码也会等待await的执行；
  5. await必须在async函数中，但是async函数中可以没有await；
  6. 如果await右边的Promise失败了，就会抛出异常，可以通过 try ... catch捕获处理；
  7. await其实就是给我们提供了一个快捷获得Promise对象成功状态的语法，无需编写promise.then(... ...)这样的代码了；
*/
 /*let a = function () {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(88888);
            resolve()
        }, 3000);
    });
};
async function test() {
    try {
        await a();
        console.log(99999);
    } catch (error) {
        return await error;
    }
}
test();*/


 /*let a = function () {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            console.log(88888);
            //resolve()
        }, 3000);
    });
};
async function test() {
    try {
        await a();
        console.log(99999);
    } catch (error) {
        return await error;
    }
}
test();*/

let a = function () {
  //return new Promise((resolve, reject) => {
  setTimeout(() => {
    console.log(88888);
    //resolve()
  }, 3000);
  //});
};
async function test() {
  try {
    await a();
    console.log(99999);
  } catch (error) {
    return await error;
  }
}
test();
</script>

<template>
  <div>

  </div>
</template>

<style scoped>

</style>
